package com.xzp.blog.service;

import com.xzp.blog.entity.Article;
import com.xzp.blog.entity.dto.form.BlogAddForm;
import com.xzp.blog.entity.dto.form.BlogModifyForm;
import com.xzp.blog.entity.dto.request.TableKeyModel;
import com.xzp.blog.entity.vo.ArticleDataGridView;

import java.util.List;

/**
 * 文章操作相应接口
 */
public interface IArticleService {

    /**
     * 根据文章id获取文章
     * @param id
     * @return
     */
    public Article getArticleById(Integer id);

    /**
     * 添加 博客文章
     * @param form 表单
     */
    void blogAdd(BlogAddForm form);

    /**
     * 修改已发布文章
     *
     * @param form 表单
     */
    void blogModify(BlogModifyForm form);

    /**
     * 获取所有文章列表 后台管理页面
     *
     * @return 文章列表视图实体集合
     */
    List<ArticleDataGridView> getArticleList();


    /**
     * 根据 id 列表 删除文章
     *
     * @param model id list 数据模型
     */
    void blogDelete(TableKeyModel model);


}
